package com.yanggu.scala.chapater07.myabstract

object AbstractDemo02 {

  def main(args: Array[String]): Unit = {
    //和java类似, scala也可以实现匿名子类, 需要重写抽象类中的所有抽象字段和抽象方法
    new Animal04 {
      override def sayHello(): Unit = {
        println("Hello")
      }

      override var age: Int = 20
    }.sayHello()
  }

}

//如果子类继承了抽象类那么子类必须重写父类所有的抽象字段和抽象方法, 否则自己也可以声明为抽象类
abstract class Animal03 {

  def sayHi(): Unit = {
    println("Hi")
  }

}

abstract class Animal04 {

  var age : Int

  def sayHello()

}
